#include <stdio.h>
#include <math.h>

// 一个数在+100后是一个完全平方数，+168后又是一个完全平方数
// 请问这个数是几？
void Func1()
{   
    double val1 = 0.0;
    double val2 = 0.0;

    for(int i = 1; ; ++i)
    {
        val1 = sqrt(i + 100);
        val2 = sqrt(i + 168);
        if((int)val1 == val1 && (int)val2 == val2)
        {
            printf("该完全平方数是：%d\n", i);
            break;
        }
    }
}

// 从1,2,3,4四个数中选出三个不同的数组成三位数，请问这样的三位数共有几个，分别是多少？
void Func2()
{
    int count = 0;
    int cnt = 0;
    int i = 0, j = 0, k = 0;
    for(i = 1; i < 5; ++i)
    {
        for(j = 1; j < 5; ++j)
        {
            for(k = 1; k < 5; ++k)
            {
                if(i != j && i != k && j != k)
                {
                    printf("%d ", i * 100 + j * 10 + k);
                    ++count;
                    ++cnt;
                }

                if(cnt == 5)
                {
                    printf("\n");
                    cnt = 0;
                }
            }
        }
    }

    printf("\n这样的三位数共有：%d个\n", count);
}

int main()
{
    Func1();
    Func2();

    return 0;
}
